<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="d" uri="http://dgg.net/jsp/jstl/core" %>

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>全部生产订单</title>
    <c:import url="../../header.jsp"/>
    <link rel="stylesheet" href="${rootUrl}/static/css/time-status-color.css?v=${version}">
    <script> var ALLOT_REFUSED = '${ALLOT_REFUSED}';</script>
    <style>
        table.crm-table.cell-border tbody td{
            white-space: nowrap;
        }
    </style>
</head>
<body>
<div class="body-main">
<form action="" id="allScOrderForm">
   <div class="titleSearch">
        <div class="layui-inline">
            <label>客户电话：</label>
            <div class="layui-input-inline">
                <input name="customerPhone" type="text" class="input-style" maxlength="50"
                       placeholder="请输入客户电话">
            </div>
        </div>
        <div class="layui-inline">
            <label>业务类型：</label>
            <div class="layui-input-inline">
                <div id="business_typeCode">
                    <input type="hidden" name="businessType" class="plug-in-msg"/>
                    <input type="hidden" name="typeCode" id="typeCode" class="plug-in-code"/>
                    <input type="text" readonly placeholder="请选择业态" class="chose-plugIn layui-input"
                           name="businessTypeName">
                    <div class="bus-picker">
                        <div class="bus-picker-tab">
                            <a href="javascript:void(0);" class="active">请选择业态</a>
                        </div>
                        <div class="bus-picker-content"></div>
                    </div>
                </div>
            </div>
        </div>
          <div class="layui-inline">
            <label>订单来源：</label>
            <div class="layui-input-inline">
                      <select class="select-style" id="signOrgId" name="signOrgId">
                        </select>
            </div>
        </div>
          <div class="layui-inline">
            <label>流程人员：</label>
            <div class="layui-input-inline">
                      <select  id="flowUserId" name="flowUserId" class="flowUserIdChooseUser">
                        <option value="">--请选择--</option>
                        </select>
            </div>
        </div>
       <div class="layui-inline">
           <label>协单人员：</label>
           <div class="layui-input-inline">
               <select  id="assistId" name="assistId" class="assistId">
                   <option value="">--请选择--</option>
               </select>
           </div>
       </div>
          <div class="layui-inline">
            <label>当前完成节点：</label>
            <div class="layui-input-inline">
                      <select class="select-style" id="successFlowNodeId" name="successFlowNodeId">
                           <option value>请选择</option>
                    <c:forEach var="listNode" items="${listNode}">
                        <option value="${listNode.name}">${listNode.name}</option>
                    </c:forEach>
                        </select>
            </div>
        </div>
         <div class="layui-inline">
            <label>订单状态：</label>
            <div class="layui-input-inline">
                      <select class="select-style" id="orderStatus" name="orderStatus" flowUser-select-law>
                        </select>
            </div>
        </div>
           <div class="layui-inline">
            <label>超期状态：</label>
            <div class="layui-input-inline">
                 <select  id="SQSTATUS" name="SQSTATUS">
                    	<option value="">--请选择--</option>
                      	<option value="OUT_TIME_STATE1">--接收超期--</option>
                      		<option value="OUT_TIME_STATE2">--分配超期--</option>
                      		<option value="OUT_TIME_STATE3">--节点超期--</option>
                      		<option value="OUT_TIME_STATE4">--订单超期--</option>
                            <option value="OUT_TIME_STATE5">--合同超期--</option>
                        </select>
            		</div>
            </div>
       <div class="layui-inline">
           <label>生产事业部：</label>
           <div class="layui-input-inline">
               <select class="select-style" id="productOrgId" name="productOrgId">
               </select>
           </div>
       </div>
        <div class="layui-inline">
            <label>关键字：</label>
            <div class="layui-input-inline">
                <input name="searchKey" type="text" class="input-style" maxlength="50" style="width:300px"
                       placeholder="客户名/订单编号/生产订单编号/企业名称/合同编号">
            </div>
        </div>
       <div class="layui-inline">
           <label>完结时间：</label>
           <div class="layui-input-inline">
               <input style="width: 120px" type="text" name="completedTimeStart" placeholder="开始时间" class="Wdate input-style" id="completedTimeStart"
                      onfocus="var endDate=$dp.$('completedTimeStart'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
           </div>
           <div class="layui-input-inline">
               <input style="width: 120px" type="text" name="completedTimeEnd" placeholder="结束时间" class="Wdate input-style" id="completedTimeEnd"
                      onfocus="var endDate=$dp.$('completedTimeEnd'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
           </div>
       </div>
       <div class="layui-inline">
           <label>结项时间：</label>
           <div class="layui-input-inline">
               <input style="width: 120px" type="text" name="overEndTimeStart" placeholder="开始时间" class="Wdate input-style" id="overEndTimeStart"
                      onfocus="var endDate=$dp.$('overEndTimeStart'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
           </div>
           <div class="layui-input-inline">
               <input style="width: 120px" type="text" name="overEndTimeEnd" placeholder="结束时间" class="Wdate input-style" id="overEndTimeEnd"
                      onfocus="var endDate=$dp.$('overEndTimeEnd'); WdatePicker({onpicked:function(){endDate.focus();}, dateFmt:'yyyy-MM-dd'})">
           </div>
       </div>
       <div class="layui-inline">
           <label>配证状态：</label>
           <div class="layui-input-inline">
               <select class="select-style" id="matchingStatus" name="matchingStatus" flowUser-select-law>
               </select>
           </div>
       </div>
        <div class="layui-inline">
            <button class="layui-btn layui-btn-mini layui-btn-normal" type="button" onclick="allScOrderDataTableReload()">搜索</button>
            <button class="layui-btn layui-btn-mini layui-btn-primary" type="button" onclick="cleanSearch()">清空</button>
            <d:hasUrlAuth authCode="ZZSC_AllSCORDER_EXPORT">
			<button class="layui-btn layui-btn-mini layui-btn-green" type="button" onclick="export_data()">导出</button>
			</d:hasUrlAuth>
        </div>
        </div>
        </form>
        <div class="table-conter">
            <a href="javascript:void(0)" class="layui-btn layui-btn-mini" onclick="callPhoneByProductionPage()">打电话</a>
            <d:hasUrlAuth authCode="ZZSC_OPTIONS_XGLCRY">
                <a href="javascript:void(0)" onclick="updateFlowUser()" class="layui-btn layui-btn-mini" >修改流程人员</a>
            </d:hasUrlAuth>
            <div class="fr">
                <span class="bgGreen">分配超期</span>
                <span class="bgYellow">接收超期</span>
                <span class="bgBlue">节点超期</span>
                <span class="bgRed">订单超期</span>
                <span class="bgBlueGreen">合同超期</span>
             </div>
        </div>
    <div class="table-body">
        <!--表格 start-->
        <table id="allScOrderTable" class="cell-border crm-table columnsHidden dataTable">
            <thead>
            <tr>
                <th width="20"><input type="checkbox" class="checkall"/></th>
                <th width="50">序号</th>
                <th>生产事业部</th>
                <th>生产订单编号</th>
                <th>订单编号</th>
                <th>合同编号</th>
                <th>客户</th>
                <th>完成节点</th>
                <th>业务类型</th>
                <th>订单产品</th>
                <th>签单时间</th>
                <th>最新备注</th>
                <th>签单商务</th>
                <th>流程人员</th>
                <th>协单人员</th>
                <th>企业名称</th>
                <th>合同金额</th>
                <th>订单来源</th>
                <th>完结时间</th>
                <th>结项时间</th>
                <th>售后单号</th>
                <th>售后状态</th>
                <th>售后处理结果</th>
                <th>订单状态</th>
                <th>配证状态</th>
            </tr>
            </thead>
            <tbody>

            </tbody>
        </table>
        <!--表格 end-->
    </div>
</div>
<c:import url="/WEB-INF/jsp/footer.jsp"/>
<script type="text/javascript">
    function updateFlowUser(){
        DGG.loading();
        //获取选中的订单id和产品id
        var data = $('#allScOrderTable').dataTableExtend('getCheck');
        //没有选择订单
        if (data.length > 10) {
            DGG.Errors('最多只能选择10条数据', 2000);
            DGG.loading('close');
            return false;
        }
        var ids = [];
        for (var i = 0; i < data.length; i++) {
            ids.push(data[i].id);//订单id
        }
        //没有选择订单
        if (isEmpty(ids)) {
            DGG.Errors('请选择进行完结审核的订单', 2000);
            DGG.loading('close');
            return false;
        }
        var length = ids.length;
        var area = ["600px","300px"];
        if(length > 1){
            area = ["600px","450px"];
        }
        var params1 = {
            ids: ids//子订单id集合
        };
        $.post(sysInfo.basePath + "/sc/all/update_user_page.html",params1,function (data) {
            DGG.loading('close');
            dgg.Open({
                content: data,
                type: 1,
                title: "修改流程人员",
                area: area,
                btn: ['提交', '关闭'],
                success: function (layero, index) {
                    DGG.loading('close');
                },
                yes: function (index, layero) {
                    DGG.loading('close');
                    var ids1 =[];
                    $("input[name='subOrderIds']").each(function(){
                        ids1.push($(this).val());
                    })
                    if(isEmpty(ids1)){
                        ids1.push(ids[0]);
                    }
                    var params = {
                        ids: ids1,//子订单id集合
                        flowUserId: $("#flowUser").val()
                    };
                    DGG.Confire('确认执行此操作？', '操作提示', function () {
                        DGG.loading();
                        $.ajax({
                            url: sysInfo.basePath + '/sc/all/update_flow_user.do',
                            data: params,
                            success: function (result) {
                                if (result.code == 0) {
                                    DGG.loading('close');
                                    DGG.Succeed('操作成功!');
                                    $("#allScOrderTable").dataTable().fnDraw(false);
                                } else {
                                    DGG.loading('close');
                                    DGG.Errors(result.msg)
                                }
                                layer.close(index);
                            }
                        });
                    });
                },
                end: function () {
                    DGG.loading('close');
                }
            })
        })
    }
    var NORMAL = '${NORMAL}', TIME_OUT = '${TIME_OUT}';
</script>
<script type="text/javascript"
        src="${basePath}/static/js/choose.extend.js?v=${version}"></script>
<script type="text/javascript" src="${basePath}/static/js/zzsc/production/sc_common.js?v=${version}"></script>
<script type="text/javascript" src="${basePath}/static/js/zzsc/common/call_common.js?v=${version}"></script>
<script type="text/javascript" src="${basePath}/static/js/zzsc/inprocess/inprocess_list.js?v=${version}"></script>
<script src="${rootUrl}/static/js/zzsc/common/sc_chooseUser.js?v=${version}" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	Plug.plug_in("post", "${basePath}/zzsc/common/tree_book_list.do?code=BUS_YT_ZZ&&type=2&&level=3", "#business_typeCode", '选择业态', '', true, 'BUS_YT_ZZ', '', '');
</script>
<script type="text/javascript">


    $(function () {

        var allScOrderTableObj;

        syb("#signOrgId");//初始化事业部
        syb("#productOrgId");//初始化所属事业部

        commonTreeBookCode("#orderStatus", "ZZSC_PRODUCT_STATUS", 1, 1, 1, true);//初始化订单状态
        commonTreeBookCode("#matchingStatus", "ZZSC_MATCHING_STATUS", 1, 1, 1, true);//初始化订单状态

        //初始化分配人员选择
        chooseUserPlug.init($('.flowUserIdChooseUser'), {
            url: sysInfo.basePath + '/zzsc/common/find_user_choose.do',
            // multiple:true,// 单选false或不写该参数，多选true
            otherParam: {
                /**
                 * type: 用户信息选择类型（必填）
                 *       all:全部用户，division：当前登录人所在事业部，department:当前登录人所在部门及以下，role: 查询指定角色用户，
                 * roleCode : 角色Code，（type为role时，必填）
                 * locked: 用户状态，（选填，默认全部状态）
                 *      0、正常；1、锁定；2、离职
                 */
                type: 'role',
                roleCode: 'ZZSC_FLOW_USER',
                locked: '0'
            }
        });
        //初始化协单人员
        chooseUserPlug.init($('.assistId'), {
            url: sysInfo.basePath + '/zzsc/common/find_user_choose.do',
            otherParam: {
                /**
                 * type: 用户信息选择类型（必填）
                 *       all:全部用户，division：当前登录人所在事业部，department:当前登录人所在部门及以下，role: 查询指定角色用户，
                 * roleCode : 角色Code，（type为role时，必填）
                 * locked: 用户状态，（选填，默认全部状态）
                 *      0、正常；1、锁定；2、离职
                 */
                type: 'role',
                roleCode: 'ZZSC_FLOW_USER',
                locked: 0
            }
        });
    });

    //列表刷新
    function allScOrderDataTableReload() {
        allScOrderTableObj.ajax.reload();
    }

    function export_data() {
        var paras = $('#allScOrderForm').serialize2object();
        if (Object.keys(paras).length == 0) {
            DGG.Warning('请加入搜索条件后导出！');
            return;
        }
        export_table('/sc/all/export.do', $("#allScOrderForm").serializeObject());
    }

    // 打电话
    function callPhoneByProductionPage() {
        var dataArr = $('#allScOrderTable').dataTableExtend('getCheck');
        if (dataArr.length == 0) {
            DGG.Warning('请选择一条订单');
            return false;
        }
        if (dataArr.length > 1) {
            DGG.Warning('只能选择一条订单');
            return false;
        }
        callPhoneByProduction(dataArr[0].id);
    }

    // 获取搜索数据
    function getSearchData() {
        return $("#allScOrderForm").serializeObject();
    }

    $(document).ready(function () {
        //初始化dataTable列表
        //初始化dataTable列表
        allScOrderTableObj = $('#allScOrderTable').dataTableExtend({
            "ajax": {"url": "${basePath}/sc/all/allScOrderJson.do", "type": "post"},
            "fnServerParams": function (aoData) {
                aoData = $.extend(aoData, $("#allScOrderForm").serializeObject());
                return aoData;
            },
            "scrollX": "true",//是否开启横项滚动
            "fixedColumns": {//锁定列，只有开启scrollX时才生效
                "leftColumns": 4,//左侧锁定2列
                "rightColumns": 1//右侧锁定1列
            },
            "aoColumns": [
                {
                    "orderable": false,
                    "data": "id",
                    "render": function (data, type, full, meta) {
                        return '<input type="checkbox"  name="ids" class="checkchild"  value="' + data + '" />';
                    }
                }
                , {
                    "orderable": false,
                    "render": function (data, type, full, meta) {
                        return meta.row + 1;
                    }
                },  {
                    "orderable": false,
                    "data": "productOrgName"
                }, {
                    "orderable": false,
                    "data": "scProductOrderNo",
                    "render": function (data, type, full, meta) {
                        var result = "";
                        result += '<a href="javascript:;"  class="layui-table-link" onclick="openOrderInfoDetail(\'' + full.scProductOrderNo + '\',\'' + full.id + '\')" /><p>' + data + '</p></a>';
                        return result;
                    }
                }, {
                    "orderable": false,
                    "data": "orderNo",
                    "render": function (data, type, full, meta) {
                        return ('<a href=\'javascript:void(0)\' ti  onclick="openBusinessDetail(\'' + full.orderNo + '\',\'' + full.orderId + '\')" /><span class="layui-table-link">' + data + '</span></a>&nbsp;');
                    }
                },
                {
                    "orderable": false,
                    "data": "contractNo",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "customerName",
                    "render": function (data, type, full, meta) {
                        return emptyStringConvert(full.customerName) + '<p>' + emptyStringConvert(full.customerPhone) + '</p>';
                    }
                },
                {
                    "orderable": false,
                    "data": "latestEndNodeName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "businessProductName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": false,
                    "data": "productName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },
                {
                    "orderable": true,
                    "data": "signTime",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                },{//最新备注时间
                    "orderable": true,
                    "data": "lastRemarkTime",
                    "render": function (d, type, r) {
                        (d==null)&&(d='');
                        (r.lastRemark==null)&&(r.lastRemark='');
                        (r.lastUser==null)&&(r.lastUser='');
                        return '<div class="line2" style="min-width: 120px" title="'+r.lastRemark+'">'+r.lastRemark+'</div> '
                            + '<p>' + r.lastUser + '</p>'+ '<p>' + d + '</p>';
                    }
                },
                {
                    "orderable": false,
                    "data": "signUserName",
                    "render": function (data, type, full, meta) {
                        return data+'<p>'+full.signUserOrgName+'</p>';
                    }
                }, {
                    "orderable": false,
                    "data": "flowUserName",
                    "render": function (data, type, full, meta) {
                        return data + '<p>' + full.flowUserOrgName + '</p>';
                    }
                }, { //协单人员
                    "sClass": "hoverProcess",
                    "orderable": false,
                    "data": "assistUserName",
                    "render": function (d, type, r) {
                        var names = '';
                        if (d) {
                            var split = d.split(",");
                            names = '<span>' + split[0] + '</span>';
                            if (split.length > 1) {
                                names += '<i>...</i>'
                            }
                        }
                        return names;
                    }
                }, {
                    "orderable": false,
                    "data": "companyName",
                    "render": function (data, type, full, meta) {
                        (data==null)&&(data='');
                        return '<div class="line2" style="min-width: 50px" title="'+data+'">'+data+'</div> ';
                    }
                },{//合同金额
                    "orderable": false,
                    "data": "money"
                }, {
                    "orderable": false,
                    "data": "signOrgName",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "completedTime",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "overEndTime",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "afterSaleNo",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "afterSaleStatus",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "productHandleResultType",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "status",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }, {
                    "orderable": false,
                    "data": "matchingStatus",
                    "render": function (data, type, full, meta) {
                        return data ? data : '';
                    }
                }],
            "columnDefs": [{
                targets: [3], //第1，2，3列
                createdCell: function (td, cellData, rowData, row, col) {
                    if (rowData.contractTimeStatus == '${TIME_OUT}') {
                        $(td).parent().addClass("bgBlueGreen");//订单超期
                        return;
                    }else if (rowData.orderTimeStatus == '${TIME_OUT}') {
                        $(td).parent().addClass("bgRed");//订单超期
                        return;
                    } else if (rowData.nodeTimeStatus == '${TIME_OUT}') {//节点超期
                        $(td).parent().addClass("bgBlue");

                    } else if (rowData.receiveTimeStatus == '${TIME_OUT}' && rowData.status == '分配待接收') {//接收超期
                        $(td).parent().addClass("bgYellow");
                        return;
                    } else if (rowData.distributionTimeOutStatus == '${TIME_OUT}' && rowData.status == '下单待分配') {//分配超期
                        $(td).parent().addClass("bgGreen");//分配
                        return;
                    }

                }
            }]
        });
    });

    //协单人员展示相关
    $(document).on('mouseenter', '.hoverProcess', function () {
        var datas = allScOrderTableObj.cell(this).data();
        if (datas == undefined) {
            return false;
        }
        datas = datas.split(",");
        var _top = $(this).offset().top + $(this).height() + 'px',
            _left = $(this).offset().left + 'px';
        if (datas != undefined && datas.length > 1) {
            var htm = '<div class="process-relative" id="processRel" style="top:' + _top + ';left:' + _left + '">'
            for (var i in datas) {
                htm += '<p class="line2">' + datas[i] + '</p>';
            }
            htm += '</div>'
        }
        $('#processRel').remove();
        $('body').append(htm)
    });
    $(document).on('mouseleave', '#processRel', function () {
        $('#processRel').remove();
    });
    $(document).on('click', function (e) {
        var case1 = $(e.target).parents('.hoverProcess').length,
            case2 = $(e.target).hasClass('.hoverProcess'),
            case3 = $(e.target).parents('#processRel').length;
        if (case3 != 1) {
            $('#processRel').remove();
        }
    });
</script>

</body>

</html>